python学习笔记八:pandas处理丢失数据 |
您所在的位置:网站首页 › pandas 指定行fillna › python学习笔记八:pandas处理丢失数据 |
python学习笔记八:pandas处理丢失数据
原创
wx5bcdb7bce145c 2023-02-18 09:51:08 博主文章分类:python ©著作权 文章标签 pandas处理丢失的数据 数据 python 浮点 文章分类 JavaScript 前端开发 ©著作权归作者所有:来自51CTO博客作者wx5bcdb7bce145c的原创作品,请联系作者获取转载授权,否则将追究法律责任 有两种丢失的数据:None是python自带的,其类型为python.object,因此,None不能参与到任何计算中,object类型的运算要比int类型的运算慢得多np.nan(NaN)是浮点类型,能参与到计算中,但计算的结果总是NaNimport numpy as npimport pandas as pdfrom pandas import Series,DataFrameimport matplotlib.pyplot as pltdf = DataFrame({'age':[20,21,23,19,22],'salary':[10000,11000,9900,8500,15000]}, index=['张三','李四','王五','赵六','童七'],columns=['age','salary','work'])df 将李四到赵六之间的人的工作设为programmer : df.work['李四':'赵六'] = 'programmer'df
找到空数据和保留非空数据: #找到空数据s1 = df.isnull().any(axis=1)#any只要有一个为True,就返回True#有了s1数据,则可以获取哪些数据为空,只要有一个属性为空,则该行数据就没用,认为是空print(df[s1])#保留非空的数据s2 = df.notnull().all(axis=1)#all都为True才返回Trueprint(df[s2]) 利用过滤函数dropna()过滤掉空数据: #过滤函数dropna()print(df.dropna())#默认axis=0即为行,how='any'即哪一行只要有一个空数据就把该行剔除掉df.dropna(axis=1)#axis=1时为列,how='any'哪一列即哪一个属性中只要有一个空数据就把该列剔除掉只有某一行或某一列数据全为空时才剔除掉: df.loc['张三'] = np.nanprint(df)df.dropna(how='all')#默认axis=0即为行,how='any'哪一行全部为空才把该行剔除掉利用填充函数fillna()对空数据进行填充: df.fillna(value = 'student')#全部填充print(df) print(df.fillna(method='ffill'))#按行由前向后填充 print(df.fillna(method='bfill'))#按行由后向前填充,默认axis=0,即按行填充,若inplace=True,就是在原来的数据上进行修改,默认为False即重新创建一个DataFrame
用给定值全部填充空数据 按行由前向后填充 按行由后向前填充
小 练习: df1 = DataFrame(np.random.randint(0,150,size=(4,3)),index=['张三','李四','王五','赵六'],columns=['语文','数学','英语'])print(df1)#将张三的英语成绩记为NaNdf1['英语']['张三'] = np.nanprint(df1) #用数学成绩填充英语成绩print(df1.fillna(method='ffill',axis=1)) #用李四的英语成绩填充张三的英语成绩print(df1.fillna(method='bfill')) 上一篇:halcon第二十二讲:单目标定基本原理 下一篇:python学习笔记七:DataFrame |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |